#delimit ;
clear;
set more off;
log using e:\research\tus\replicate\cps0102.log, replace;


************** 2001 CPS Jun *******************;

infix double hrhhid	1-15
	hrmonth	16-17
	hryear4	18-21
      tenure	29-30
      telhhd	33-34
	faminc	39-40 		
	record	57-58
	mis		63-64
	huinttyp	65-66
	hrlonglk	69-70
	str hrsample	71-74
	str hrsersuf	75-76 
	huhhnum	77-78
      region	89-90
	state       91-92
	smsa		105
	age		122-123
	marital	125-126
	sex		129-130
	educa		137-138
	race		139-140
	pulineno	147-148
	hisp		157-158
      mlr		180-181
	chld		635-636
	qstnum		815-819
	occurnum	820-821
	mode		857-858
	smoked	859-860
	smoking	863-864
   	intmethod	999-1000
	intrview	1013-1014
	smokstat	1015-1016
	self		1003-1004
	tuswgt	1017-1026
      tuswgt2	1027-1036
	using c:\cps\cps01jun\cpsjun01.dat; 

tab mis intrview;
gen cps=1;
su;
save e:\research\tus\replicate\cps01jun.dta, replace;
clear;

************** 2001 CPS Nov *******************;

infix double hrhhid	1-15
	hrmonth	16-17
	hryear4	18-21
      tenure	29-30
      telhhd	33-34
	faminc	39-40 		
	record	57-58
	mis		63-64
	huinttyp	65-66
	hrlonglk	69-70
	str hrsample	71-74
	str hrsersuf	75-76 
	huhhnum	77-78
      region	89-90
	state       91-92
	smsa		105
	age		122-123
	marital	125-126
	sex		129-130
	educa		137-138
	race		139-140
	pulineno	147-148
	hisp		157-158
      mlr		180-181
	chld		635-636
	qstnum		815-819
	occurnum	820-821
	mode		857-858
	smoked	859-860
	smoking	863-864
   	intmethod	999-1000
	intrview	1013-1014
	smokstat	1015-1016
	self		1003-1004
	tuswgt	1017-1026
      tuswgt2	1027-1036
	using c:\cps\cps01nov\cpsnov01.dat; 

tab mis intrview;
gen cps=2;
su;
save e:\research\tus\replicate\cps01nov.dta, replace;
clear;

************** 2002 CPS Feb *******************;

infix double hrhhid	1-15
	hrmonth	16-17
	hryear4	18-21
      tenure	29-30
      telhhd	33-34
	faminc	39-40 		
	record	57-58
	mis		63-64
	huinttyp	65-66
	hrlonglk	69-70
	str hrsample	71-74
	str hrsersuf	75-76 
	huhhnum	77-78
      region	89-90
	state       91-92
	smsa		105
	age		122-123
	marital	125-126
	sex		129-130
	educa		137-138
	race		139-140
	pulineno	147-148
	hisp		157-158
      mlr		180-181
	chld		635-636
	qstnum		815-819
	occurnum	820-821
	mode		857-858
	smoked	859-860
	smoking	863-864
   	intmethod	999-1000
	intrview	1013-1014
	smokstat	1015-1016
	self		1003-1004
	tuswgt	1017-1026
      tuswgt2	1027-1036
	using c:\cps\cps02feb\cpsfeb02.dat; 

tab mis intrview;
gen cps=3;
su;
save e:\research\tus\replicate\cps02feb.dta, replace;
clear;


********************************************;

use e:\research\tus\replicate\cps01jun.dta, clear;
append using e:\research\tus\replicate\cps01nov.dta;
append using e:\research\tus\replicate\cps02feb.dta;

tab intrview;
tab intrview if intrview~=-1;
tab mis huinttyp, row;
tab mis record, row;
tab mis intrview if intrview~=-1, row chi2;
tab mis intrview if intrview~=-1 & mis~=1 & mis~=5, row chi2;

tab intrview self if intrview~=-1 & cps==1, cel;
tab intrview self if intrview~=-1 & cps==2, cel;
tab intrview self if intrview~=-1 & cps==3, cel;

keep if intrview==1;
keep if smoked >=0;

recode smoked (2=0);
recode smoking (2=1) (3=0) (-1=0);

gen never=(smokstat==1);
gen everyday=(smokstat==2);
gen someday=(smokstat==3);
gen former=(smokstat==4);

gen smokstat1=0;
replace smokstat1=1 if smokstat==1;
replace smokstat1=2 if smokstat==2 | smokstat==3;
replace smokstat1=3 if smokstat==4;

gen current=(smokstat1==2);

sort cps;
tab mis smoking if cps==1, missing;
tab mis smoking if cps==2, missing;
tab mis smoking if cps==3, missing;

keep if smoking >=0;
keep if age >=18;

tab smokstat smokstat1;

su;

gen wgt=tuswgt/30000;
gen wgt2=tuswgt2/30000;
sort cps qstnum occurnum;
save e:\research\tus\replicate\cps0102.dta, replace;

use c:\cps\tus-cps\2001-02\repjun01.dta, clear;
append using c:\cps\tus-cps\2001-02\repnov01.dta, gen(c1);
append using c:\cps\tus-cps\2001-02\repfeb02.dta, gen(c2);

forvalues i=1/80 {;
replace	repwgt`i'=repwgt`i'/3;
};

gen cps=1;
replace cps=2 if c1==1;
replace cps=3 if c2==1;
sort cps qstnum occurnum;
merge 1:1 cps qstnum occurnum using e:\research\tus\replicate\cps0102.dta;
keep if _merge==3;
drop _merge;
sort hrhhid pulineno hrsersuf huhhnum hrsample;
save e:\research\tus\replicate\cps0102.dta, replace;

/* You need to use the formula Fay=1-1/sqrt(adjfay) to convert the value of Fay's adjustment given in the documentation to the form that Stata wants.  
You need to use the -vce(brr)- and -mse- options to obtain the standard errors given by SUDAAN. 
http://www.ats.ucla.edu/stat/stata/faq/sample_survey_setups.htm

Also see https://usa.ipums.org/usa/repwt.shtml*/;

svyset [pweight = wgt], brrweight(repwgt1 - repwgt80) fay(.5) vce(brr) mse;

svy: tab mis smoking, row se ci;

**** Unweighted results ****;
gen con_wgt=1;
svyset [pweight=con_wgt];
svy: tab mis smoking, row se ci;

log close;
